package com.zjsru.oneDay;

/**
 * 2894. 分类求和并作差
 *
 * @Author: cookLee
 * @Date: 2025-05-27
 */
public class DifferenceOfSums {

    /**
     * 主
     * \
     * 输入：n = 10, m = 3
     * 输出：19
     * 解释：在这个示例中：
     * - 范围 [1, 10] 内无法被 3 整除的整数为 [1,2,4,5,7,8,10] ，num1 = 这些整数之和 = 37 。
     * - 范围 [1, 10] 内能够被 3 整除的整数为 [3,6,9] ，num2 = 这些整数之和 = 18 。
     * 返回 37 - 18 = 19 作为答案。
     * \
     * 输入：n = 5, m = 6
     * 输出：15
     * 解释：在这个示例中：
     * - 范围 [1, 5] 内无法被 6 整除的整数为 [1,2,3,4,5] ，num1 = 这些整数之和 =  15 。
     * - 范围 [1, 5] 内能够被 6 整除的整数为 [] ，num2 = 这些整数之和 = 0 。
     * 返回 15 - 0 = 15 作为答案。
     * \
     *
     * @param args args
     */
    public static void main(String[] args) {
        DifferenceOfSums differenceOfSums = new DifferenceOfSums();
        int n = 10;
        int m = 3;
        System.out.println(differenceOfSums.differenceOfSums(n, m));
    }

    public int differenceOfSums(int n, int m) {
        int sumDivisible = 0;
        int sumNotDivisible = 0;
        for (int i = 1; i <= n; i++) {
            if (i % m == 0) {
                sumDivisible += i;
            } else {
                sumNotDivisible += i;
            }
        }
        return sumNotDivisible - sumDivisible;
    }

}
